package com.eight.cloud.payment.service;

import com.eight.cloud.mybatisplus.service.IBaseService;
import com.eight.cloud.openfeign.admin.vo.TenantVo;
import com.eight.cloud.payment.entity.MerchantEntity;
import com.eight.cloud.payment.model.dto.MerchantDto;


/**
 * @InterfaceName: IMerchantService
 * @Author: TXC
 * @Date: 2024-10-21 17:18
 **/
public interface IMerchantService extends IBaseService<MerchantEntity> {
    /**
     * 新增或者修改商户信息
     * @param merchant 商户信息
     * @return 商户信息
     */
    MerchantEntity saveAndUpdate(MerchantDto merchant);

    /**
     * 根据子商户id查找商户信息
     * @param subMerchantId 子商户id
     * @return 商户信息
     */
    MerchantEntity getBySubMerchantId(String subMerchantId);

    /**
     * 根据租户uuid和子商户id查找商户信息
     * @param tenantUuid 租户uuid
     * @param subMerchantId 子商户id
     * @return 商户信息
     */
    MerchantEntity getBySubMerchantId(String tenantUuid, String subMerchantId);
    /**
     * 通过子商户id查找租户信息
     * @param subMerchantId 子商户id
     * @return 租户信息
     */
    TenantVo getTenantBySubMerchantId(String subMerchantId);
}
